package cn.hznc.domain.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
@TableName(value = "TDJDJ200")
public class AbutmentProgramEntity {
    /**
     * 主程序关联物料编码
     */
    @Column(name = "物料编码")
    @TableField(value = "物料编码")
    private String materialNo;

    /**
     * 程序卡号
     */
    @Column(name = "程序卡号")
    @TableField(value = "程序卡号")
    private String programCn;

    /**
     * 物料型号
     */
    @Column(name = "物料型号")
    @TableField(value = "物料型号")
    private String productionNum;

    /**
     * 粗夹具号
     */
    @Column(name = "粗夹具号")
    @TableField(value = "粗夹具号")
    private String coarseFixture;

    /**
     * 精夹具号
     */
    @Column(name = "精夹具号")
    @TableField(value = "精夹具号")
    private String precisionFixture;

    /**
     * 标片型号
     */
    @Column(name = "标片型号")
    @TableField(value = "标片型号")
    private String labelModel;

    /**
     * 适用机床
     */
    @Column(name = "适用机床")
    @TableField(value = "适用机床")
    private String equipment;

    /**
     * 调试人员
     */
    @Column(name = "调试人员")
    @TableField(value = "调试人员")
    private String adjustor;

    /**
     * 备注
     */
    @Column(name = "备注")
    @TableField(value = "备注")
    private String description;

    /**
     * 程序员
     */
    @Column(name = "程序员")
    @TableField(value = "程序员")
    private String operator;

    /**
     * 校对人
     */
    @Column(name = "校对人")
    @TableField(value = "校对人")
    private String proofreader;

    /**
     * 创建日期
     */
    @Column(name = "编制日期",type = MySqlTypeConstant.DATETIME , length = 6)
    @TableField(value = "编制日期")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date createTime;

    /**
     * 校对日期
     */
    @Column(name = "校对日期",type = MySqlTypeConstant.DATETIME , length = 6)
    @TableField(value = "校对日期")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date adjustTime;

    /**
     * 关联子程序
     */
    @TableField(select = false)
    private List<AbutmentSubProgramEntity> connectSubProgram;
}
